package offer;

public class offerII_0092 {
    public int minFlipsMonoIncr(String s) {
        int len=s.length();
        int[] left=new int[len];
        int[] right=new int[len];
        left[0]=0;
        for(int i=1;i<len;++i){
            left[i]=left[i-1]+(s.charAt(i-1)-'0');
        }
        right[len-1]=0;
        for(int i=len-2;i>=0;--i){
            right[i]=right[i+1]+1-(s.charAt(i+1)-'0');
        }
        int min=Integer.MAX_VALUE;
        for(int i=0;i<len;++i){
            min=Math.min(min,left[i]+right[i]);
        }
        return min;
    }
}
